package com.model.domain.persona;

import com.model.dao.orm.Key;
import com.model.domain.ubicacion.Vivienda;

/**
 *
 * @author rdelacruz
 */
public class Hogar 
implements Key
{
    //private Integer conglomerado;
    //private Integer vivienda;
    private Vivienda vivienda;
    private Encuestador encuestador;
    
    private Integer codigo;
    private Integer resultadoFinal;
    
    private Integer nroMiembros;//Del Capitulo 200
    
    //public static Boolean CompletoStringtoBoolean(String completo) {
    //    if(completo==null)
    //        return null;
    //    return completo.equals("1");
    //}
    
    public String getResultadoEncuesta() {
    	ResultadoEntrevistaHogar r = getResultadoFinalEnum();
            return r!=null ? r.name() : "Sin Visitar";
	} 
    
    public String getCodigoString() {
        //return codigo==null ? "" : codigo+"";
        return codigo==null ? "" : codigo+"";
    }

    public String getResultadoFinalString() {
        return resultadoFinal==null ? "" : resultadoFinal+"";
    }

    @Override
    public String getKey() {
        return vivienda.getKey()+"|"+codigo;
        //return conglomerado+"-"+
        //vivienda+"-"+
        //hogar;
    }
    
    public String getEstadoDeControl() {
        if(resultadoFinal==null)
            return null;
        if(resultadoFinal==2 || resultadoFinal==3 || resultadoFinal==4)
            return "ABIERTO";
        if(resultadoFinal==1 || resultadoFinal==5 || resultadoFinal==7)
            return "CERRADO";
        return "";
    }
    
    /**  
     * @return nos dice si la vivienda debe ser reemplazada para por cumplir 
     * con el número de viviendas del marco de viviendas de la encuesta
     * Resultafo final: 5: vivienda desocupada, 7: otros
     */
    public boolean suViviendaEsReemplazable() {
        return resultadoFinal!=null && (resultadoFinal==5 || resultadoFinal==7);
    }
    
    public Integer getResultadoFinal() {
        return resultadoFinal;
    }
    
    public ResultadoEntrevistaHogar getResultadoFinalEnum() {
        return ResultadoEntrevistaHogar.getEnum(resultadoFinal);
    }

    public void setResultadoFinal(Integer resultadoFinal) {
        this.resultadoFinal = resultadoFinal;
    }
    
    public void setResultadoFinal(String resultadoFinal) {
        this.resultadoFinal = (resultadoFinal != null ? Integer.parseInt(resultadoFinal): null);
    }
        

    public Integer getCodigo() {
        return codigo;
    }

    public void setCodigo(Integer codigo) {
        this.codigo = codigo;
    }
    
    public void setCodigo(String codigo) {
        this.codigo = (codigo != null ? Integer.parseInt(codigo) : null);
    }

    public Vivienda getVivienda() {
        return vivienda;
    }

    public void setVivienda(Vivienda vivienda) {
        this.vivienda = vivienda;
    }
    
    public Encuestador getEncuestador() {
        return encuestador;
    }

    public void setEncuestador(Encuestador encuestador) {
        this.encuestador = encuestador;
    }
    

    public Integer getNroMiembros() {
        return nroMiembros;
    }

    public void setNroMiembros(Integer nroMiembros) {
        this.nroMiembros = nroMiembros;
    }    


}
